#define _CRT_SECURE_NO_WARNINGS 1

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
{
    int i = 0;
    int j = 0;
    if (n == 0)
    {
        return;
    }
    if (m == 0)
    {
        while (n--)
        {
            nums1[i++] = nums2[j++];
        }
    }


    int index = m + n - 1;//1
    int index1 = m - 1;//0-1
    int index2 = n - 1;//0

    while ((index1 >= 0) && (index2 >= 0))
    {
        if (nums2[index2] >= nums1[index1])
        {
            nums1[index--] = nums2[index2--];
        }
        else
        {
            nums1[index--] = nums1[index1--];
        }
    }
    if (index2 < 0)
    {
        return;
    }
    if (index1 < 0)
    {
        while (index2 >= 0)
        {
            nums1[index--] = nums2[index2--];
        }
    }
}